#include<bits/stdc++.h>
using namespace std;
const int mod = 998244353;
int n;
typedef struct{
	long long a[201][201];
}AD;
AD emt,f;
AD tms(AD A,AD B)
{
	AD res = emt;
	for(int i = 1;i <= n;i++)
		for(int j = 1;j <= n;j++)
			for(int k = 1;k <= n;k++)
				(res.a[i][j] += A.a[k][j] * B.a[i][k]) %= mod;
	return res;
}
AD qmi(AD a,int b)
{
	AD res = emt;
	for(int i = 1;i <= n;i++)
		res.a[i][i] = 1;
	while(b)
	{
		if(b & 1)
			res = tms(res,a);
		a = tms(a,a);
		b >>= 1;
	}
	return res;
}
int m;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	freopen("drama.in","r",stdin);
	freopen("drama.out","w",stdout);
	cin >> n >> m;
	for(int i = 1;i <= n;i++)
		for(int j = 1;j <= n;j++)
			f.a[i][j < i - 1 ? i : j]++;
	AD res = emt;
	res.a[1][1] = 1;
	res = tms(res,qmi(f,m));
	cout << res.a[1][1];
	return 0;
}